/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package AplicacionMVC;

/**
 *
 * @author Jesus Ruiz Oliva
 */
import funciones.DatosServidor;
import funciones.HebraRedireccion;
import java.awt.CardLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.SQLException;
import javax.swing.JFrame;

public class Controller implements ActionListener{
   
    private Vistas ventana;
    private HebraLectoraBd reader;
    private HebraRedireccion redirec;
       
    public Controller(Vistas frame, HebraLectoraBd reader) throws SQLException{
           ventana = frame;
           this.reader=reader;
    }    
    @Override
    public void actionPerformed (ActionEvent evento){
      if (evento.getSource()==ventana.getButtonAceptar()){
            DatosServidor serv = new DatosServidor();               // obtiene los datos
            serv.setEmaildestino(ventana.getEmailDestino());
            serv.setUser(ventana.getUsuario());
            serv.setPass(ventana.getPass());
            serv.setPort(Integer.parseInt(ventana.getPuerto()));
            serv.setSmtp(ventana.getSmtp());
            
            reader.setServidor(serv);
            
            CardLayout paletas = (CardLayout)ventana.getLayout();    // muestra la nueva ventana        
            paletas.show(ventana, "cardEmail");
            
            ventana.limpiarListModelConsola();                          // limpia consolas
            ventana.limpiarListModelConsolaError();
            
            redirec=new HebraRedireccion(ventana); // redirecciona System.out y System.in a otros flujos 
                                                    //que leeran 2 hebras e imprimiran en pantalla
            reader.start(); //se lanza la hebra lectora de BD
      }
      if (evento.getSource()== ventana.getButtonExit()){
        ((JFrame)(ventana.getParent().getParent().getParent().getParent().getParent())).dispose();
      }
      if (evento.getSource()== ventana.getButtonAtras()){
          reader.setSalir(true);
          CardLayout paletas = (CardLayout)ventana.getLayout();    // muestra la nueva ventana        
          paletas.show(ventana, "cardPrincipal");
      }
    
    }
}


